package com.simtop.picture.mapper;
import com.simtop.picture.common.ServerResponse;
import com.simtop.picture.pojo.*;
import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.context.annotation.Primary;

import java.util.List;

@Mapper
public interface PictureMapper {
    List<ExplorationCenter> getCenter();

    List<PrimaryTitle> getPrimaryTitle(@Param("centerId") int centerId);

    List<SecondaryTitle> getSecondTitle(@Param("primaryId") int primaryId);

    PrimaryTitle checkPrimary(@Param("primaryTitleName") String primaryTitleName);

    int addPrimaryTitle(@Param("explorationCenterId") Integer explorationCenterId,@Param("primaryTitleName") String primaryTitleName);

    SecondaryTitle checkSecond(@Param("secondaryTitleName") String secondaryTitleName);

    int addSecondTitle(@Param("primaryTitleId") Integer primaryTitleId, @Param("secondaryTitleName") String secondaryTitleName);

    int deletePrimaryTitle(@Param("primaryTitleId") Integer primaryTitleId);

    int deleteSecondByPrimary(@Param("primaryTitleId") Integer primaryTitleId);

    int deleteSecondTitle(@Param("secondaryTitleId") Integer secondaryTitleId);

    int addPicture(PicturePath picturePath);

    List<PicturePath> getImage(@Param("secondaryTitleId") Integer secondaryTitleId);

    int updatePrimaryTitle(@Param("primaryTitleId") Integer primaryTitleId,@Param("primaryTitleName") String primaryTitleName);

    int updateSecondTitle(@Param("secondaryTitleId") Integer secondaryTitleId, @Param("secondaryTitleName") String secondaryTitleName);

    List<PicturePath> getPicture(@Param("explorationCenterId") Integer explorationCenterId);

    int deletePicturePath(@Param("picturePathId") Integer picturePathId);

    int compilePicturePath(PicturePath picturePath);

    List<PicturePath> filterPicture(@Param("secondId") Integer secondId);

    SecondaryTitle getSecondaryTitleName(@Param("secondaryTitleId") Integer secondaryTitleId);

    List<SecondaryTitle> create();

    PicturePath getPictureDetail(@Param("picturePathId") Integer picturePathId);

    List<U3dPath> getU3dPath();

    void deletePicturePathByPrimary(@Param("primaryTitleId") Integer primaryTitleId);

    void deleteUser();

    long checkPictureName(@Param("pictureName") String pictureName,@Param("picturePathId") Integer picturePathId);

    long checkAddPictureName(@Param("pictureName") String pictureName,@Param("imagesPath") String imagesPath);

    long checkImagePath(@Param("imagesPath") String imagesPath,@Param("picturePathId") Integer picturePathId);
}
